Skip to content

ITS: staggering [DO NOT MERGE]#15188

Open
f3sch wants to merge 52 commits intoAliceO2Group:devfrom
f3sch:its/trk/stag
Open

ITS: staggering [DO NOT MERGE]#15188
f3sch wants to merge 52 commits intoAliceO2Group:devfrom
f3sch:its/trk/stag

Conversation

@f3sch
Copy link
Collaborator

@f3sch f3sch commented Mar 18, 2026

This is to run the CI and possibly to run tests at P2.

f3sch and others added 25 commits March 17, 2026 17:37
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Adapt ITS/MFT CTF machinery to staggered data
Fix compilation of ALICE3 tracking with staggering
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
@github-actions
Copy link
Contributor

REQUEST FOR PRODUCTION RELEASES:
To request your PR to be included in production software, please add the corresponding labels called "async-" to your PR. Add the labels directly (if you have the permissions) or add a comment of the form (note that labels are separated by a ",")

+async-label <label1>, <label2>, !<label3> ...

This will add <label1> and <label2> and removes <label3>.

The following labels are available
async-2023-pbpb-apass4
async-2023-pp-apass4
async-2024-pp-apass1
async-2022-pp-apass7
async-2024-pp-cpass0
async-2024-PbPb-apass1
async-2024-ppRef-apass1
async-2024-PbPb-apass2
async-2023-PbPb-apass5

Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
@f3sch f3sch marked this pull request as ready for review March 18, 2026 11:26
@f3sch f3sch requested review from sawenzel and shahor02 as code owners March 18, 2026 11:26
To activate ITS or MFT staggering in the topology generation, export ITSSTAGGERED=1
or MFTSTAGGERED=1 respectively
@alibuild
Copy link
Collaborator

Error while checking build/O2/fullCI_slc9 for 3af5787 at 2026-03-19 09:46:

## sw/BUILD/QualityControl-latest/log
/sw/SOURCES/QualityControl/v1.188.0/v1.188.0/Modules/ITS/src/ITSFhrTask.cxx:403:23: error: no matching function for call to 'o2::itsmft::RawPixelDecoder<o2::itsmft::ChipMappingITS>::startNewTF(o2::framework::InputRecord&)'
ninja: build stopped: cannot make progress due to previous errors.

Full log here.

@alibuild
Copy link
Collaborator

Error while checking build/O2/fullCI_slc9 for 83bb5f9 at 2026-03-19 11:12:

## sw/BUILD/O2-sim-challenge-test-latest/log
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/37}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/38}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/40}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/42}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/43}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/45}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/46}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/47}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/48}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/49}
./digi.log[6036:TPCDigitizer_11]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/37}
./digi.log[6036:TPCDigitizer_11]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/38}
./digi.log[6036:TPCDigitizer_11]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/40}
./digi.log[6036:TPCDigitizer_11]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/42}
./digi.log[6036:TPCDigitizer_11]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/43}
./digi.log[6036:TPCDigitizer_11]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/45}
./digi.log[6036:TPCDigitizer_11]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/46}
./digi.log[6036:TPCDigitizer_11]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/47}
./digi.log[6036:TPCDigitizer_11]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/48}
./digi.log[6036:TPCDigitizer_11]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/49}
./digi.log[6094:TPCDigitizer_13]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/37}
./digi.log[6094:TPCDigitizer_13]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/38}
./digi.log[6094:TPCDigitizer_13]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/40}
./digi.log[6094:TPCDigitizer_13]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/42}
./digi.log[6094:TPCDigitizer_13]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/43}
./digi.log[6094:TPCDigitizer_13]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/45}
./digi.log[6094:TPCDigitizer_13]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/46}
./digi.log[6094:TPCDigitizer_13]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/47}
./digi.log[6094:TPCDigitizer_13]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/48}
./digi.log[6094:TPCDigitizer_13]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/49}
./digi.log[6123:TPCDigitizer_14]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/37}
./digi.log[6123:TPCDigitizer_14]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/38}
./digi.log[6123:TPCDigitizer_14]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/40}
./digi.log[6123:TPCDigitizer_14]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/42}
./digi.log[6123:TPCDigitizer_14]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/43}
./digi.log[6123:TPCDigitizer_14]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/45}
./digi.log[6123:TPCDigitizer_14]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/46}
./digi.log[6123:TPCDigitizer_14]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/47}
./digi.log[6123:TPCDigitizer_14]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/48}
./digi.log[6123:TPCDigitizer_14]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/49}
./digi.log[5862:internal-dpl-ccdb-backend]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/37}
./digi.log[5862:internal-dpl-ccdb-backend]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/38}
./digi.log[5862:internal-dpl-ccdb-backend]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/40}
./digi.log[5862:internal-dpl-ccdb-backend]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/42}
./digi.log[5862:internal-dpl-ccdb-backend]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/43}
./digi.log[5862:internal-dpl-ccdb-backend]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/45}
./digi.log[5862:internal-dpl-ccdb-backend]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/46}
./digi.log[5862:internal-dpl-ccdb-backend]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/47}
[0 more errors; see full log]

Full log here.

f3sch added 6 commits March 19, 2026 13:18
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
@f3sch
Copy link
Collaborator Author

f3sch commented Mar 19, 2026

Tested workflow option for staggering with:

#!/usr/bin/env bash
set -euo pipefail

GLOSET=" -b --shm-segment-size 12000000000 --timeframes-rate-limit 6 --timeframes-rate-limit-ipcid $RANDOM  "
ITSAPT=";ITSAlpideParam.roFrameLayerDelayInBC[0]=0;ITSAlpideParam.roFrameLayerDelayInBC[1]=0;ITSAlpideParam.roFrameLayerDelayInBC[2]=0;ITSAlpideParam.roFrameLayerDelayInBC[3]=0;ITSAlpideParam.roFrameLayerDelayInBC[4]=0;ITSAlpideParam.roFrameLayerDelayInBC[5]=0;ITSAlpideParam.roFrameLayerDelayInBC[6]=0;ITSAlpideParam.roFrameLayerLengthInBC[0]=99;ITSAlpideParam.roFrameLayerLengthInBC[1]=99;ITSAlpideParam.roFrameLayerLengthInBC[2]=99;ITSAlpideParam.roFrameLayerLengthInBC[3]=198;ITSAlpideParam.roFrameLayerLengthInBC[4]=198;ITSAlpideParam.roFrameLayerLengthInBC[5]=198;ITSAlpideParam.roFrameLayerLengthInBC[6]=198;"
ITSCLS=";ITSClustererParam.maxBCDiffToMaskBias=-10;ITSClustererParam.maxBCDiffToSquashBiasLayer[0]=100;ITSClustererParam.maxBCDiffToSquashBiasLayer[1]=100;ITSClustererParam.maxBCDiffToSquashBiasLayer[2]=100;ITSClustererParam.maxBCDiffToSquashBiasLayer[3]=10;ITSClustererParam.maxBCDiffToSquashBiasLayer[4]=10;ITSClustererParam.maxBCDiffToSquashBiasLayer[5]=10;ITSClustererParam.maxBCDiffToSquashBiasLayer[6]=10;"
ITSTRK=";ITSVertexerParam.phiCut=0.5;ITSVertexerParam.clusterContributorsCut=3;ITSVertexerParam.tanLambdaCut=0.2;ITSVertexerParam.nThreads=3;ITSCATrackerParam.nThreads=3;;;ITSCATrackerParam.sysErrY2[0]=100e-8;ITSCATrackerParam.sysErrZ2[0]=100e-8;ITSCATrackerParam.sysErrY2[1]=100e-8;ITSCATrackerParam.sysErrZ2[1]=100e-8;ITSCATrackerParam.sysErrY2[2]=100e-8;ITSCATrackerParam.sysErrZ2[2]=100e-8;ITSCATrackerParam.sysErrY2[3]=100e-8;ITSCATrackerParam.sysErrZ2[3]=100e-8;ITSCATrackerParam.sysErrY2[4]=100e-8;ITSCATrackerParam.sysErrZ2[4]=100e-8;ITSCATrackerParam.sysErrY2[5]=100e-8;ITSCATrackerParam.sysErrZ2[5]=100e-8;ITSCATrackerParam.sysErrY2[6]=100e-8;ITSCATrackerParam.sysErrZ2[6]=100e-8;;;ITSClustererParam.maxBCDiffToMaskBias=-10;ITSClustererParam.maxBCDiffToSquashBias=10;ITSVertexerParam.phiCut=0.5;ITSVertexerParam.clusterContributorsCut=3;ITSVertexerParam.tanLambdaCut=0.2;;ITSCATrackerParam.startLayerMask[0]=127;ITSCATrackerParam.startLayerMask[1]=127;ITSCATrackerParam.startLayerMask[2]=127;;ITSCATrackerParam.minPtIterLgt[0]=0.05;ITSCATrackerParam.minPtIterLgt[1]=0.05;ITSCATrackerParam.minPtIterLgt[2]=0.05;ITSCATrackerParam.minPtIterLgt[3]=0.05;ITSCATrackerParam.minPtIterLgt[4]=0.05;ITSCATrackerParam.minPtIterLgt[5]=0.05;ITSCATrackerParam.minPtIterLgt[6]=0.05;ITSCATrackerParam.minPtIterLgt[7]=0.05;ITSCATrackerParam.minPtIterLgt[8]=0.05;ITSCATrackerParam.minPtIterLgt[9]=0.09;ITSCATrackerParam.minPtIterLgt[10]=0.167;ITSCATrackerParam.minPtIterLgt[11]=0.125;ITSCATrackerParam.trackingMode=1;"
o2-raw-tf-reader-workflow --onlyDet ITS --input-data o2_rawtf_run00569789_tf00105629_epn121.tf $GLOSET |
        o2-itsmft-stf-decoder-workflow $GLOSET --configKeyValues=";$ITSAPT;$ITSCLS" --decoder-verbosity 0 --enable-its-staggering |
        o2-its-reco-workflow --disable-mc --clusters-from-upstream --configKeyValues=";$ITSAPT;$ITSCLS;$ITSTRK;" $GLOSET --enable-its-staggering

ITSAPT=";ITSAlpideParam.roFrameLengthInBC=198;"
ITSCLS=";ITSClustererParam.maxBCDiffToMaskBias=-10;ITSClustererParam.maxBCDiffToSquashBias=10;"
o2-raw-tf-reader-workflow --onlyDet ITS --input-data o2_rawtf_run00562272_tf01594929_epn117.tf $GLOSET |
        o2-itsmft-stf-decoder-workflow $GLOSET --configKeyValues=";$ITSAPT;$ITSCLS" --decoder-verbosity 0 |
        o2-its-reco-workflow --disable-mc --clusters-from-upstream --configKeyValues=";$ITSAPT;$ITSCLS;$ITSTRK;" $GLOSET

f3sch added 3 commits March 19, 2026 13:54
Fixes in adding staggering options + propagate to dpl-workflow.sh
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
@alibuild
Copy link
Collaborator

alibuild commented Mar 19, 2026

Error while checking build/O2/fullCI_slc9 for 6a27708 at 2026-03-20 09:28:

## sw/BUILD/o2checkcode-latest/log
--
========== List of errors found ==========
++ GRERR=0
++ grep -v clang-diagnostic-error error-log.txt
++ grep ' error:'
grep: error-log.txt: binary file matches
/sw/SOURCES/O2/15188-slc9_x86-64/0/Common/DCAFitter/GPU/cuda/GPUInterface.cu:55:15: error: use '= default' to define a trivial destructor [modernize-use-equals-default]
++ [[ 0 == 0 ]]
++ exit 1
--

Full log here.

shahor02 and others added 8 commits March 20, 2026 14:26
To activate ITS or MFT staggering in the topology generation, export ITSSTAGGERED=1
or MFTSTAGGERED=1 respectively
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
To pass the sim-challenge test. W/o this option even <workflow> -h leads to a crash.
Strictly speaking, one could use in the DPLAlpideParamInitializer::isITSStaggeringEnabled
and DPLAlpideParamInitializer::isMFTStaggeringEnabled a test
ic.options().hasOption(stagITSOpt) and ic.options().hasOption(stagMFTOpt) before testing
the option itself. But better to have an explicit detection of missing staggering option.
Make ITS vertex messageable + other fixes
@f3sch f3sch requested review from bazinski and wille10 as code owners March 20, 2026 13:58
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
@alibuild
Copy link
Collaborator

Error while checking build/O2/fullCI_slc9 for 1bcddd0 at 2026-03-20 16:48:

## sw/BUILD/o2checkcode-latest/log
--
========== List of errors found ==========
++ GRERR=0
++ grep -v clang-diagnostic-error error-log.txt
++ grep ' error:'
/sw/SOURCES/O2/15188-slc9_x86-64/0/Common/DCAFitter/GPU/cuda/GPUInterface.cu:55:15: error: use '= default' to define a trivial destructor [modernize-use-equals-default]
++ [[ 0 == 0 ]]
++ exit 1
--

Full log here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants